iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Mobile Development

[Android Studio & Spring boot 30天挑戰]系列 第 22

[Android Studio & Spring boot 30天挑戰] Day22 - H2 DataBase

  • 分享至 

  • xImage
  •  

H2 Database是一個快速、輕量級且開源的Java關聯式資料庫引擎,它特別適用於開發和測試環境,也可用於生產環境。Spring Boot是一個用於快速開發Java應用程序的框架,並且非常容易集成H2 Database。本文將介紹如何使用Spring Boot和H2 Database建立一個輕量級的應用程序。

使用方法

1. 建立Spring Boot專案

來到 porm.xml 檔加入 H2 Database的相關依賴。

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

2. 配置H2 Database

在Spring Boot專案中,H2 Database的默認配置文件位於 src/main/resources/application.properties 中。您可以使用以下配置來啟用H2 Database:

#H2
# 設定H2 Database的連接URL
spring.datasource.url=jdbc:h2:mem:testDb
# 啟用H2控制台
spring.h2.console.enabled=true
# 設定資料庫驅動程式類別
spring.datasource.driverClassName=org.h2.Driver
# 設定資料庫用戶名
spring.datasource.username=sa
# 設定JPA的資料庫方言
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
# 設定JPA的DDL自動生成策略為create-drop
spring.jpa.hibernate.ddl-auto=create-drop

並來到 http://localhost:8080/h2-console/並輸入設定的 username 和 url。
https://ithelp.ithome.com.tw/upload/images/20230824/20150369iVjSFtFEfC.png

3. 建立實體類和資料庫操作

@Entity
@Table(name = "_user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

    public User() {
    }
    public User(Long id, String name) {
        this.id = id;
        this.name = name;
    }
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

4. 建立Repository介面

建立一個Spring Data JPA的Repository介面,用於執行資料庫查詢和操作。

public interface UserRepository extends JpaRepository<User, Long> {
}

5. 建立Spring Boot應用程式的主類

@SpringBootApplication
@RequestMapping("/api") // 此處設定API的基本路徑
public class DemoApplication {

@Autowired
UserRepository userRepository; // 自動注入UserRepository物件,用於數據訪問

public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
}

@PostMapping("/user")
public String addUser() {
     User user = new User();
    user.setName("chocolee");
    userRepository.save(user); // 將接收到的用戶數據保存到數據庫中
    return "success"; // 返回成功訊息
}

}

6. 使用 Postman 打 API 並查看資料庫變化

https://ithelp.ithome.com.tw/upload/images/20230824/20150369xdoMSfpK5G.png
最後再到 H2 並點擊幫邊的 User 資料表,並按 Run 就可以看到成果啦!!!!
https://ithelp.ithome.com.tw/upload/images/20230824/20150369HOLOGEtbNP.png


上一篇
[Android Studio & Spring boot 30天挑戰] Day21- Spring boot 與 Intellij
下一篇
[Android Studio & Spring boot 30天挑戰] Day23- Spring 三層式架構
系列文
[Android Studio & Spring boot 30天挑戰]30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言